From 87dee5fbcc9c32a163cf7499ee74439e2befc321 Mon Sep 17 00:00:00 2001 From: "iap10@labyrinth.cl.cam.ac.uk" Date: Fri, 14 Mar 2003 10:32:13 +0000 Subject: [PATCH] bitkeeper revision 1.122.1.15 (3e71afadv9l-u2tI8SHy7dEiub2gNg) added "mynewdom" script. Horribly CL site specific, but damn useful. --- .rootkeys | 1 + tools/domain_builder/mynewdom | 52 +++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100755 tools/domain_builder/mynewdom diff --git a/.rootkeys b/.rootkeys index dc1f07ed27..5873bd4206 100644 --- a/.rootkeys +++ b/.rootkeys @@ -187,6 +187,7 @@ 3e4d0046EKs06fY0CWDEgZQcn7DYUg tools/domain_builder/dom_kill.c 3e4d0046aPbGiRTtdWxqY5b3ytWurA tools/domain_builder/hypervisor_defs.h 3e4d00468aE86IfyjfrJwYoxzM7pAw tools/domain_builder/mem_defs.h +3e71afadoAI0VvAGKebLpToVQxUKfQ tools/domain_builder/mynewdom 3e4d0046VHhXwFuG5FK34AVxqd5A_A tools/domain_builder/newdom 3e4d0046IBzDIeaMbQB-e2QB2ahbig tools/domain_builder/vifinit 3ddb79bcbOVHh38VJzc97-JEGD4dJQ xen/Makefile diff --git a/tools/domain_builder/mynewdom b/tools/domain_builder/mynewdom new file mode 100755 index 0000000000..fd5d8763f6 --- /dev/null +++ b/tools/domain_builder/mynewdom @@ -0,0 +1,52 @@ +#!/bin/sh + +# mynewdom + +SIZE=${1:?"size missing"} + +shift; + +ARGS="$*" + +IMAGE=../../../xenolinux-2.4.21-pre4/arch/xeno/boot/image + + +LASTDOM=`/bin/ls /proc/xeno/ | grep -v cmd | cut -c4- | sort -rn | head -1` +DOM=$[LASTDOM+1] + +echo Domain ${DOM} looks free + +ADDR=`/sbin/ifconfig eth0 | grep inet.addr | sed -e 's/.*inet addr:\([0-9.]*\) .*/\1/'` +LO=`echo $ADDR | sed -e 's/[0-9]\+\.[0-9]\+\.[0-9]\+\.\([0-9]\+\)/\1/'` +HI=`echo $ADDR | sed -e 's/\([0-9]\+\.[0-9]\+\.[0-9]\+\)\.[0-9]\+/\1/'` +NEWADDR=$HI.$[LO+DOM] + +echo New IP address : ${NEWADDR} + +CMDLINE=`cat /proc/cmdline` +case $CMDLINE in +*root=/dev/nfs*) +ROOT_DIR=`echo $CMDLINE | sed -e 's,.*nfsroot=\([^ ]*\).*,\1,'` +ROOT_PATH=`echo $ROOT_DIR | sed -e 's!^\(.*\)[0-9]\+$!\1!'` +ROOT_NUM=`echo $ROOT_DIR | sed -e 's!^.*\([0-9]\+\)$!\1!'` +NEWROOT_DEV="root=/dev/nfs nfsroot=${ROOT_PATH}$[ROOT_NUM+DOM]" +;; +*root=/dev/[hs]d[abcd][0-9]*|*root=/dev/x[hs]d[abcd][0-9]*) +ROOT_DEV=`echo $CMDLINE | sed -e 's!^.*root=\(/dev/[x]*[hs]da[0-9]\+\).*$!\1!'` +ROOT_DISK=`echo $ROOT_DEV | sed -e 's!\(/dev/[x]\?[hs]d[a-z]\)[0-9]\+!\1!'` +ROOT_PART=`echo $ROOT_DEV | sed -e 's!/dev/[x]\?[hs]d[a-z]\([0-9]\+\)!\1!'` +NEWROOT_DEV="root=${ROOT_DISK}$[ROOT_PART+DOM] ro" +;; +*) +echo Could not determine root from /proc/cmdline +exit +;; +esac + +echo New root arguments : ${NEWROOT_DEV} + +echo ./newdom ${SIZE} ${IMAGE} ${NEWADDR} ${NEWROOT_DEV} ${ARGS} + +./newdom ${SIZE} ${IMAGE} ${NEWADDR} ${NEWROOT_DEV} ${ARGS} + + -- 2.30.2